<?php
/*
 * Usuario_membresia DAL.
 * @Autor: Inicial.cl.
 */
class Usuario_membresiaDAL {
	//METODO PARA GRABAR USUARIO_MEMBRESIA.
	public static function grabar($oUsuario_membresia){
		try{
			$arr = array(
				"{#IDUSUARIO}" => $oUsuario_membresia->getIdUsuario(),
				"{#IDMEMBRESIA}" => $oUsuario_membresia->getIdMembresia(),
				"{#FECHAACTIVACION}" => $oUsuario_membresia->getFechaActivacion(),
				"{#FECHAVENCIMIENTO}" => $oUsuario_membresia->getFechaVencimiento()
			);
			$query = Util::getQuery($arr, Usuario_membresiaSQL::$GRABAR_USUARIO_MEMBRESIA);
			$arrDatos = Bd::exec($query);

			$id = Bd::$IDENTITY; //Retorno id insertado
			return $id;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA EDITAR USUARIO_MEMBRESIA.
	public static function editar($oUsuario_membresia){
		try{
			$arr = array(
				"{#IDUSUARIO}" => $oUsuario_membresia->getIdUsuario(),
				"{#IDMEMBRESIA}" => $oUsuario_membresia->getIdMembresia(),
				"{#FECHAACTIVACION}" => $oUsuario_membresia->getFechaActivacion(),
				"{#FECHAVENCIMIENTO}" => $oUsuario_membresia->getFechaVencimiento()
			);
			$query = Util::getQuery($arr, Usuario_membresiaSQL::$EDITAR_USUARIO_MEMBRESIA);
			$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA LISTAR USUARIO_MEMBRESIA.
	public static function listar($oUsuario_membresia){
		try{
			$arr = array(
				"{#IDUSUARIO}" => $oUsuario_membresia->getIdUsuario(),
				"{#IDMEMBRESIA}" => $oUsuario_membresia->getIdMembresia(),
				"{#FECHAACTIVACION}" => $oUsuario_membresia->getFechaActivacion(),
				"{#FECHAVENCIMIENTO}" => $oUsuario_membresia->getFechaVencimiento()
			);
			$query = Util::getQuery($arr, Usuario_membresiaSQL::$LISTAR_USUARIO_MEMBRESIA);
			$arrDatos = Bd::exec($query);
			$arrUsuario_membresia = array();

			if (count($arrDatos) > 0) {
				foreach ($arrDatos as $row) {
					$oUsuario_membresia = new Usuario_membresia();

					$oUsuario_membresia->setIdUsuario($row["idUsuario"]);
					$oUsuario_membresia->setIdMembresia($row["idMembresia"]);
					$oUsuario_membresia->setFechaActivacion($row["fechaActivacion"]);
					$oUsuario_membresia->setFechaVencimiento($row["fechaVencimiento"]);

					$arrUsuario_membresia[] = $oUsuario_membresia;
				}
			}

			return $arrUsuario_membresia;
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA OBTENER POR ID USUARIO_MEMBRESIA.
	public static function obtenerPorId($id){
		try{
			$arr = array(
					"{#ID}" => $id
				);
			$query = Util::getQuery($arr, Usuario_membresiaSQL::$OBTENER_USUARIO_MEMBRESIA_POR_ID);
			$arrDatos = Bd::exec($query);

			if (count($arrDatos) > 0) {
				$oUsuario_membresia = new Usuario_membresia();

				foreach ($arrDatos as $row) {
					$oUsuario_membresia->setIdUsuario($row["idUsuario"]);
					$oUsuario_membresia->setIdMembresia($row["idMembresia"]);
					$oUsuario_membresia->setFechaActivacion($row["fechaActivacion"]);
					$oUsuario_membresia->setFechaVencimiento($row["fechaVencimiento"]);
				}
				return $oUsuario_membresia;
			}
		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}

	//METODO PARA ELIMINAR USUARIO_MEMBRESIA.
	public static function eliminar($id){
		try{
			$arr = array("{#ID}" => $id);
				$query = Util::getQuery($arr, Usuario_membresiaSQL::$ELIMINAR_USUARIO_MEMBRESIA);
				$arrDatos = Bd::exec($query);

		} catch (Excepcion $e){
			throw new Exception($e->getMessage());
		}
	}
}
?>